
#file-cache C:\Inetpub\wwwroot\other\swfupload\FlashDevelop\Flash8\Delegate.as
public class Delegate{public static function create (obj:Object, func:Function) : Function;}
#file-cache C:\Inetpub\wwwroot\other\swfupload\FlashDevelop\Flash8\ExternalCall.as
import flash.external.ExternalInterface;public class ExternalCall{/**
public function ExternalCall()
	{

	}
*/
public static function Simple (callback:String) : Void;public static function FileQueued (callback:String, file_object:Object) : Void;public static function FileQueueError (callback:String, error_code:Number, file_object:Object, message:String) : Void;public static function FileDialogComplete (callback:String, num_files_selected:Number, num_files_queued:Number) : Void;public static function UploadStart (callback:String, file_object:Object) : Void;public static function UploadProgress (callback:String, file_object:Object, bytes_loaded:Number, bytes_total:Number) : Void;public static function UploadSuccess (callback:String, file_object:Object) : Void;public static function UploadError (callback:String, error_code:Number, file_object:Object, message:String) : Void;public static function UploadComplete (callback:String, file_object:Object) : Void;public static function Debug (callback:String, message:String) : Void;/**
Escapes all the backslashes which are not translated correctly in the Flash -> JavaScript Interface
	 * 
	 * These functions had to be developed because the ExternalInterface has a bug that simply places the
	 * value a string in quotes (except for a " which is escaped) in a JavaScript string literal which
	 * is executed by the browser.  These often results in improperly escaped string literals if your
	 * input string has any backslash characters. For example the string:
	 * 		"c:\Program Files\uploadtools\"
	 * is placed in a string literal (with quotes escaped) and becomes:
	 * 		var __flash__temp = "\"c:\Program Files\uploadtools\\"";
	 * This statement will cause errors when executed by the JavaScript interpreter:
	 * 	1) The first \" is succesfully transformed to a "
	 *  2) \P is translated to P and the \ is lost
	 *  3) \u is interpreted as a unicode character and causes an error in IE
	 *  4) \\ is translated to \
	 *  5) leaving an unescaped " which causes an error
	 * 
	 * I fixed this by escaping \ characters in all outgoing strings.  The above escaped string becomes:
	 * 		var __flash__temp = "\"c:\\Program Files\\uploadtools\\\"";
	 * which contains the correct string literal.
	 * 
	 * Note: The "var __flash__temp = " portion of the example is part of the ExternalInterface not part of
	 * my escaping routine.
*/
private static function EscapeMessage (message);private static function EscapeString (message:String) : String;private static function EscapeArray (message_array:Array) : Array;private static function EscapeObject (message_obj:Object) : Object;}
#file-cache C:\Inetpub\wwwroot\other\swfupload\FlashDevelop\Flash8\FileItem.as
import flash.net.FileReference;public class FileItem{private static var file_id_sequence : Number;private var postObject : Object;public var file_reference : FileReference;public var id : String;public var index : Number;public var file_status : Number;private var js_object : Object;public static var FILE_STATUS_QUEUED : Number;public static var FILE_STATUS_IN_PROGRESS : Number;public static var FILE_STATUS_ERROR : Number;public static var FILE_STATUS_SUCCESS : Number;public static var FILE_STATUS_CANCELLED : Number;public static var FILE_STATUS_NEW : Number;public function FileItem (file_reference:FileReference, control_id:String, index:Number);public function AddParam (name:String, value:String) : Void;public function RemoveParam (name:String) : Void;public function GetPostObject () : Object;public function ToJavaScriptObject () : Object;public function toString () : String;}
#file-cache C:\Inetpub\wwwroot\other\swfupload\FlashDevelop\Flash8\SWFUpload.as
import flash.net.FileReferenceList;import flash.net.FileReference;import flash.external.ExternalInterface;import FileItem;import ExternalCall;import Delegate;/**
* Todo:
* In SWFUpload v3 the file_queue and file_index should be merged. This probably means we'll remove FileItem.id and just
* use indexes everywhere.
*
*/
public class SWFUpload{private var build_number : String;private var fileBrowserMany : FileReferenceList;private var fileBrowserOne : FileReference;private var file_queue : Array;private var current_file_item : FileItem;private var file_index : Array;private var successful_uploads : Number;private var queue_errors : Number;private var upload_errors : Number;private var upload_cancelled : Number;private var queued_uploads : Number;private var valid_file_extensions : Array;private var file_reference_listener : Object;private var flashReady_Callback : String;private var fileDialogStart_Callback : String;private var fileQueued_Callback : String;private var fileQueueError_Callback : String;private var fileDialogComplete_Callback : String;private var uploadStart_Callback : String;private var uploadProgress_Callback : String;private var uploadError_Callback : String;private var uploadSuccess_Callback : String;private var uploadComplete_Callback : String;private var debug_Callback : String;private var movieName : String;private var uploadURL : String;private var filePostName : String;private var uploadPostObject : Object;private var fileTypes : String;private var fileTypesDescription : String;private var fileSizeLimit : Number;private var fileUploadLimit : Number;private var fileQueueLimit : Number;private var debugEnabled : Boolean;private var SIZE_TOO_BIG : Number;private var SIZE_ZERO_BYTE : Number;private var SIZE_OK : Number;private var ERROR_CODE_QUEUE_LIMIT_EXCEEDED : Number;private var ERROR_CODE_FILE_EXCEEDS_SIZE_LIMIT : Number;private var ERROR_CODE_ZERO_BYTE_FILE : Number;private var ERROR_CODE_INVALID_FILETYPE : Number;private var ERROR_CODE_HTTP_ERROR : Number;private var ERROR_CODE_MISSING_UPLOAD_URL : Number;private var ERROR_CODE_IO_ERROR : Number;private var ERROR_CODE_SECURITY_ERROR : Number;private var ERROR_CODE_UPLOAD_LIMIT_EXCEEDED : Number;private var ERROR_CODE_UPLOAD_FAILED : Number;private var ERROR_CODE_SPECIFIED_FILE_ID_NOT_FOUND : Number;private var ERROR_CODE_FILE_VALIDATION_FAILED : Number;private var ERROR_CODE_FILE_CANCELLED : Number;private var ERROR_CODE_UPLOAD_STOPPED : Number;public static function main () : Void;public function SWFUpload ();/**
*
	* FileReference Event Handlers
	* *
*/
private function DialogCancelled_Handler () : Void;private function Open_Handler (file:FileReference) : Void;private function FileProgress_Handler (file:FileReference, bytesLoaded:Number, bytesTotal:Number) : Void;private function FileComplete_Handler () : Void;private function HTTPError_Handler (file:FileReference, httpError:Number) : Void;private function IOError_Handler (file:FileReference) : Void;private function SecurityError_Handler (file:FileReference, errorString:String) : Void;private function Select_Many_Handler (frl:FileReferenceList) : Void;private function Select_One_Handler (file:FileReference) : Void;private function Select_Handler (file_reference_list:Array) : Void;/**
*
		Externally exposed functions
	*
*/
private function SelectFile () : Void;private function SelectFiles () : Void;private function StopUpload () : Void;/**
Cancels the upload specified by file_id
	 * If the file is currently uploading it is cancelled and the uploadComplete
	 * event gets called.
	 * If the file is not currently uploading then only the uploadCancelled event is fired.
	 *
*/
private function CancelUpload (file_id:String) : Void;private function SetCredentials (name:String, password:String) : Void;private function GetStats () : Object;private function SetStats (stats:Object) : Void;private function GetFile (file_id:String) : Object;private function GetFileByIndex (index:Number) : Object;private function AddFileParam (file_id:String, name:String, value:String) : Boolean;private function RemoveFileParam (file_id:String, name:String) : Boolean;private function SetUploadURL (url:String) : Void;private function SetPostParams (post_object:Object) : Void;private function SetFileTypes (types:String, description:String) : Void;private function SetFileSizeLimit (size:String) : Void;private function SetFileUploadLimit (file_upload_limit:Number) : Void;private function SetFileQueueLimit (file_queue_limit:Number) : Void;private function SetFilePostName (file_post_name:String) : Void;private function SetUseQueryString (use_query_string:Boolean) : Void;private function SetDebugEnabled (debug_enabled:Boolean) : Void;/**
*
		File processing and handling functions
	*
*/
private function StartUpload (file_id:String) : Void;private function ReturnUploadStart (start_upload:Boolean) : Void;private function UploadComplete () : Void;/**
*
		Utility Functions
	*
*/
private function CheckFileSize (file_item:FileItem) : Number;private function CheckFileType (file_item:FileItem) : Boolean;private function BuildRequest () : String;private function Debug (msg:String) : Void;private function PrintDebugInfo () : Void;private function FindIndexInFileQueue (file_id:String) : Number;private function FindFileInFileIndex (file_id:String) : FileItem;private function LoadFileExensions (filetypes:String) : Void;private function loadPostParams (param_string:String) : Void;}